#pragma once
#include"preCmpH.h"

BEGIN_NAMESPACE(ui_manager)
class UIManager;
typedef std::shared_ptr<UIManager> UIManagerSharedPtr;

BEGIN_NAMESPACE(ui_graphics)
class UIRenderer;
END_NAMESPACE

BEGIN_NAMESPACE(ui_fonts)
class UIFontManager;
END_NAMESPACE

BEGIN_NAMESPACE(ui_controls)

class UIControlContainer;

class UIManagerControlInterface
{
public:
	UIManagerControlInterface();
	void LoadManager(UIManager& manager);
	void UnloadManager();
	ui_graphics::UIRenderer& getUIRenderer();
	ui_fonts::UIFontManager& getUIFontManager();
	UIControlContainer& getRoot();
private:
	UIManager* manager_;
};

END_NAMESPACE
END_NAMESPACE